class MovimentoMagazzino < ActiveRecord::Base
  acts_as_paranoid unless SHOW_DELETED
  belongs_to :riferimento, :polymorphic => true
  belongs_to :tipo_movimento_magazzino
  has_many :dettagli_movimento_magazzino, :dependent => :protect, :class_name => 'DettaglioMovimentoMagazzino'
  validates_presence_of :data, :tipo_movimento_magazzino_id, :riferimento_id #:dettagli_movimento_magazzino
  validates_uniqueness_of :data, :scope => [:data, :riferimento_id], :case_sensitive => false

  def name
    "#{tipo_movimento_magazzino.name unless tipo_movimento_magazzino.nil?} del #{data} da/a (#{riferimento_type.constantize.find(riferimento_id).to_label unless riferimento_id.nil?})"
  end
end
